#pragma once
#include <cppunit/extensions/HelperMacros.h>
#include "DesignEntity.h"

class TestDesignEntity : public CPPUNIT_NS::TestFixture {
	CPPUNIT_TEST_SUITE(TestDesignEntity);
	CPPUNIT_TEST(testConstant);
	CPPUNIT_TEST(testVariable);
	CPPUNIT_TEST(testProcedure); 
	CPPUNIT_TEST(testStmtList);
	CPPUNIT_TEST(testAssign);
	CPPUNIT_TEST(testWhile);
	CPPUNIT_TEST(testPlus);
	CPPUNIT_TEST(testMinus);
	CPPUNIT_TEST(testTimes);
	CPPUNIT_TEST(testProgram);
	CPPUNIT_TEST(testCall);
	CPPUNIT_TEST(testIf);
	CPPUNIT_TEST_SUITE_END();
private:
	DesignEntity *DE;
public:
	void setUp();
	void tearDown();

	void testConstant();
	void testVariable();
	void testProcedure(); 
	void testStmtList();
	void testAssign();
	void testWhile();
	void testPlus();
	void testMinus();
	void testTimes();
	void testProgram();
	void testCall();
	void testIf();
};
